iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 4
0
自我挑戰組

CPE 一星精選全攻略系列 第 4

Day4 #UVa 10101 & UVa 10420

  • 分享至 

  • xImage
  •  

UVa 10101 - Bangla Numbers

題目連結

題目說明

給一個大數,依照題目給的換算單位輸出,有點像是換零錢的題目。

做法

就像我們的數字單位一樣,後面還有可能再細分,所以這邊我們用遞迴的方式去寫。

#include <bits/stdc++.h>

using namespace std;

void split(long long n) {
    if (n >= 10000000) {
        split(n / 10000000);
        cout << " kuti";
        n %= 10000000;
    }
    if (n >= 100000) {
        split(n / 100000);
        cout << " lakh";
        n %= 100000;
    }
    if (n >= 1000) {
        split(n / 1000);
        cout << " hajar";
        n %= 1000;
    }
    if (n >= 100) {
        split(n / 100);
        cout << " shata";
        n %= 100;
    }
    if (n)
        cout << " " << n;
}

int main() {
    long long n;
    int kase = 1;
    while (cin >> n) {
        cout <<setw(4)<< kase++ << ".";
        if (n)
            split(n);
        else
            cout << " 0";
        cout << endl;
    }

    return 0;
}

UVa 10420 - List of Conquests

題目連結

題目說明

計算各個國家總共出現多少次,依照字典序輸出。

做法

因為只要求國家,所以後面人名可以直接忽略,這邊直接用 map 去計算出現次數,然後直接輸出。

#include <bits/stdc++.h>

using namespace std;

int main() {
    int kase;cin>>kase;
    map<string, int> ans;
    while (kase--) {
        string s;
        cin>>s;
        ans[s]++;
        cin>>s>>s;
    }
    for(auto[str,i] : ans)
            cout<<str<<" "<<i<<endl;
    return 0;
}

上一篇
Day3 #UVa 100 & UVa 10929
下一篇
Day5 # UVa 10008 & UVa 10222
系列文
CPE 一星精選全攻略9
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言